﻿jQuery.pageRbar = {
    _initst: '0',
    _tempCartListHtml: '',
    _barjq: null,
    _initPrbar: function () {
        var _self = this;
        if (_self._initst == '0') {
            _self._initst = '1';
            _self._barjq = $("#divlistshow");
            _self._initst = '2';
            _self.loadCartData(_self, false);
            _self._addbarEven();
        }
    },
    _addbarEven: function () {
        var _self = this;
//        $(window).bind('resize', function () { _self._ResizeHandler(_self); });
        $(window).bind('scroll', function () { _self._ResizeHandler(_self); });

        //        _self._barjq.find(".mui-mbar-tab").hover(function () {
        //            $(this).addClass("mui-mbar-tab-hover");
        //        }
        //        , function () {
        //            $(this).removeClass("mui-mbar-tab-hover");
        //        }).click(function () {
        //            if ($(this).hasClass("mui-mbar-tab-top")) {
        //                $('html,body').animate({ scrollTop: 0 }, 500, function () {
        //                });
        //                return;
        //            }
        //            var $tem22 = _self._barjq.find(".mui-mbar");
        //            if ($tem22.hasClass("mui-mbar-status-mini")) {
        //                $tem22.removeClass("mui-mbar-status-mini").addClass("mui-mbar-status-expand").animate({ right: 0 }, 20);
        //                $(this).addClass("mui-mbar-tab-sel");
        //                $(this).prevAll().removeClass("mui-mbar-tab-sel");
        //                $(this).nextAll().removeClass("mui-mbar-tab-sel");
        //                _self.loadCartData(_self, true);
        //            } else {
        //                $tem22.removeClass("mui-mbar-status-expand").addClass("mui-mbar-status-mini").animate({ right: -280 }, 20);
        //                $(this).removeClass("mui-mbar-tab-sel");
        //                $(this).prevAll().removeClass("mui-mbar-tab-sel");
        //                $(this).nextAll().removeClass("mui-mbar-tab-sel");
        //            }
        //        });

        $("#tmcElectCart").live('click', function () {
            $("#J_MBarMiniCart .tm-mcList input").attr("checked", $(this).attr("checked") == true || $(this).attr("checked") == "checked");
            _self._staticsAmt(_self);
        });
        _self._barjq.find(".mui-mbarp-cart-wrap .tm-mcElectBundle").live('click', function () {
            $(this).parent().parent().parent().find(".tm-mcBundleList input").attr("checked", $(this).attr("checked") == true || $(this).attr("checked") == "checked");
            _self._staticsAmt(_self);
        });
        _self._barjq.find(".mui-mbarp-cart-wrap .tm-mcBundleList input").live('click', function () {
            _self._staticsAmt(_self);
        });
        //        _self._barjq.find(".mui-mbarp-cart-wrap .tm-mcOrder").live("mouseover", function () {
        //            $(this).removeClass("tm-mcOrderActive").addClass("tm-mcOrderActive");
        //        }).live("mouseout", function () {
        //            $(this).removeClass("tm-mcOrderActive");
        //        });

        _self._barjq.find(".mui-mbarp-cart-wrap .tm-mcDel").live('click', function () {
            _self.changeQty(_self, $(this).parent().attr("order-id"), '');
        });
        $("#divlistshow .tm-mcMinus").live('click', function () {
            if (!$(this).hasClass("tm-mcMinusOff")) {
                var _qtytm1 = parseInt($(this).next().html());
                var _qtymaxtm1 = parseInt($(this).prev().attr('max-qty'));
                if (_qtytm1 <= 1) {
                    $(this).removeClass("tm-mcMinusOff").addClass("tm-mcMinusOff");
                    return;
                }
                if (_qtytm1 - 1 < _qtymaxtm1) {
                    $(this).next().next().removeClass("tm-mcMinusOff");
                }
                $(this).next().html(_qtytm1 - 1);
                _self.changeQty(_self, $(this).parent().parent().attr("order-id"), -1);
            }
        });


        _self._barjq.find(".mui-mbarp-cart-wrap .tm-mcPlus").live('click', function () {
            if (!$(this).hasClass("tm-mcMinusOff")) {
                var _qtytm1 = parseInt($(this).prev().html());
                var _qtymaxtm1 = parseInt($(this).prev().attr('max-qty'));
                if (_qtytm1 >= 1) {
                    $(this).prev().prev().removeClass("tm-mcMinusOff");
                }
                if (_qtytm1 >= _qtymaxtm1) {
                    $(this).removeClass("tm-mcMinusOff").addClass("tm-mcMinusOff");
                    return;
                }
                $(this).prev().html(_qtytm1 + 1);
                _self.changeQty(_self, $(this).parent().parent().attr("order-id"), 1);
            }
        });

        _self._barjq.find(".tm-mcCashier").live('click', function () {
            var $itemtem = _self._barjq.find(".mui-mbarp-cart-wrap .tm-mcOrder");
            var soid = "";
            $itemtem.each(function (_key, _val) {
                if ($(_val).find(".tm-mcChk input").attr("checked") == true || $(_val).find(".tm-mcChk input").attr("checked") == "checked") {
                    soid += soid == "" ? $(_val).attr("order-id") : "," + $(_val).attr("order-id");
                }
            });
            if (soid) {
                window.location.href = "/mb_CustOrder.htm?s=1&b=" + soid;
            } else {
                alert("请先选择记录！");
            }
        });

        _self._ResizeHandler(_self);
    },
    //    _showFulbar: function (_self, blfull) {
    //        var _self = _self || this;
    //        var toptem1 = ($(window).height() - 135) / 2 - 30;
    //        _self._barjq.find(".mui-mbar-tab-cart").animate({ top: toptem1 }, 20);
    //        if ($(document).scrollTop() > 0) {
    //            _self._barjq.find(".mui-mbar-tab-top").show();
    //        } else {
    //            _self._barjq.find(".mui-mbar-tab-top").hide();
    //        }
    //        //        if (!blfull) {
    //        //            _self._barjq.find(".mui-mbar").animate({ right: -270 }, 20);
    //        _self._barjq.find(".mui-mbar-tab-cart").animate({ left: -35 }, 0);
    //        _self._barjq.find(".mui-mbar-tab-top").animate({ left: -35 }, 0);
    //        //        } else {
    //        //            _self._barjq.find(".mui-mbar").animate({ right: -270 }, 20);
    //        //            _self._barjq.find(".mui-mbar-tab-cart").animate({ left: 0 }, 20);
    //        //            _self._barjq.find(".mui-mbar-tab-top").animate({ left: 0 }, 20);
    //        //        } 
    //    },
    _staticsAmt: function (_self) {
        var _self = _self || this;
        var _chkAmt = 0;
        var _chkQty = 0;
        _self._barjq.find(".mui-mbarp-cart-wrap .tm-mcBundle").each(function (key1, val1) {
            var _shopAmt = $(val1).find(".tm-mcBundleHeader .tm-mcPrice");
            var dectem1 = 0;
            $(val1).find(".tm-mcBundleList .tm-mcPrice").each(function (key2, val2) {
                if ($(val2).html()) { dectem1 += parseFloat($(val2).html()); }

                var $itemtm = $(val2).parent().parent().parent().parent();
                if ($itemtm.find(".tm-mcChk input").attr("checked") == true || $itemtm.find(".tm-mcChk input").attr("checked") == "checked") {
                    _chkAmt += parseFloat($(val2).html());
                    _chkQty++;
                    $itemtm.removeClass("tm-mcOrderSelected").addClass("tm-mcOrderSelected");
                } else {
                    $itemtm.removeClass("tm-mcOrderSelected");
                }
            });
            _shopAmt.html(dectem1.toFixed(2));
        });
        _self._barjq.find(".tm-mcTotalFee").html(_chkAmt.toFixed(2));
        _self._barjq.find(".tm-mcCheckedNum").html(_chkQty);
    },
    _ResizeHandler: function (_self) {
        var _self = _self || this;
        if ($(window).height() > 300 && $(document).height() >= $(window).height() ) {
            $("#divcarstatic").css("position", "fixed").width($("#J_MBarMiniCart").width());
        } else {
            $("#divcarstatic").css("position", "static").width($("#J_MBarMiniCart").width());
        }
        $("#divcarstatic").parent().height($("#divcarstatic").height());
        //        _self._showFulbar(_self, $(window).width() > 1190);
    },
    _showCartList: function (_data) {
        var _self = this;
        if (_self._tempCartListHtml == "") {
            //            jQuery.loadHtml("/Template/BarCartList.html?d=1").done(function (_rethtml) {
            _self._tempCartListHtml = HtmlUtil.htmlDecode($('#cart_list_temp').html());
            jQuery.ploadFile('laytpl', function () {
                laytpl(_self._tempCartListHtml).render(_data, function (render) {
                    $('#cart_list_temp').after(render).remove();
                    _self._staticsAmt(_self);
                });
            });
            //            });
        } else {
            jQuery.ploadFile('laytpl', function () {
                laytpl(_self._tempCartListHtml).render(_data, function (render) {
                    $('#cart_list_temp').after(render).remove();
                    _self._staticsAmt(_self);
                });
            });
        }

    },
    loadCartData: function (_self, _isOpenLogin) {
        var _self = _self || this;
        if (_self._initst != '2') { return; }
        jQuery.loginCallBack(function () {
            jQuery.loadHtml('/pgajax.axd?GETCART_DATA=1').done(function (_rets) {
                if (!_rets) { return; }
                _self._showCartList($.parseJSON(_rets));
            });
        }, _isOpenLogin);
    },
    addToCart: function (simg, squery) {
        var _self = this;
        var _blrefList = '0'; if (_self._barjq.find(".mui-mbar").hasClass("mui-mbar-status-expand")) { _blrefList = '1'; }
        jQuery.loginCallBack(function () {
            jQuery.loadHtml('/pgajax.axd?ADDCART_DATA=1&REF_LIST=' + _blrefList + '&' + squery).done(function (_rets) {
                if (!_rets) { return; }
                if (_blrefList == '1') {
                    _self._showCartList($.parseJSON(_rets));
                } else {
                    var arrqty = _rets.split(',');
                    var _retqty1 = 0;
                    var _retqty2 = 0;
                    if (arrqty && arrqty.length > 0) {
                        _retqty1 = parseInt(arrqty[0]);
                        _retqty2 = parseInt(arrqty[1]);
                    }
                }
                _self._showFlash(simg);
            });
        }, true);
    },
    changeQty: function (_self, sOId, sQty) {
        var _self = _self || this;
        if (!sOId) { return; }
        sQty = sQty || '';
        jQuery.loginCallBack(function () {
            jQuery.loadHtml('/pgajax.axd?DELCART_DATA=1&' + '&b=' + sOId + '&q=' + sQty).done(function (_retstr) {
                var $itemtem = _self._barjq.find(".mui-mbarp-cart-wrap .tm-mcBundle .tm-mcOrder[order-id='" + sOId + "']");
                if ($itemtem.length > 0) {
                    var $itempartem = $itemtem.parent().parent().parent().parent();
                    var arrqty = _retstr.split(',');
                    var _retqty1 = 0;
                    var _retqty2 = 0;
                    if (arrqty && arrqty.length > 0) {
                        _retqty1 = parseInt(arrqty[0]);
                        _retqty2 = parseInt(arrqty[1]);
                    }
                    if (_retqty1 == 0) {
                        $itemtem.remove();
                        if ($itempartem.find(".tm-mcOrder").length <= 0) {
                            $itempartem.remove();
                        }
                    } else {
                        $itemtem.find(".tm-mcQuantity").html(_retqty1);
                        $itemtem.find(".tm-mcPrice").html((_retqty1 * parseFloat($itemtem.attr("order-price"))).toFixed(2));
                        var _qtymaxtm1 = parseInt($itemtem.find(".tm-mcQuantity").attr('max-qty'));
                        if (_retqty1 > 1) {
                            $itemtem.find(".tm-mcQuantity").prev().removeClass("tm-mcMinusOff");
                        }
                        if (_retqty1 < _qtymaxtm1) {
                            $itemtem.find(".tm-mcQuantity").next().removeClass("tm-mcMinusOff");
                        }
                    }
                    _self._staticsAmt(_self);
                }
            });
        }, true);
    },
    _mouseCoords: function (ev) {
        ev = ev || window.event;
        if (ev == null) {
            return;
        }
        else if (ev.pageX || ev.pageY) {
            return { x: ev.pageX, y: ev.pageY };
        }
        return {
            x: ev.clientX + $(document).scrollLeft() - document.body.clientLeft,
            y: ev.clientY + $(document).scrollTop() - document.body.clientTop
        };
    },
    _showFlash: function (simg) {
        if (!simg) { return; }
        var _self = this;
        simg = simg || "a.png";
        var mousePos = _self._mouseCoords();
        var obj = $("<div id=\"lcFlashtem\" style=\"z-index: 99999;position: absolute;width:100px;height:100px;display:block;\"><img src='" + simg + "' style=\"width:100px;height:100px;\"/></div>")
        .css({
            top: mousePos.y - 50,
            left: mousePos.x - 50
        });

        $(document.body).append(obj);

        $("#lcFlashtem").animate({
            left: _self._barjq.find(".mui-mbar-tab-cart").offset().left - 70,
            top: _self._barjq.find(".mui-mbar-tab-cart").offset().top + 20
        },
							700);
        setTimeout(function () {
            $("#lcFlashtem").remove();
        }, 710);
    }
};
jQuery.pageRbar._initPrbar();
//jQuery.pageRbar.addToCart();
